package com.baitiaojun.video.service;

import com.baitiaojun.api.domain.video.Video;
import com.baitiaojun.api.domain.video.VideoView;
import com.baitiaojun.api.exception.ConditionException;
import com.baitiaojun.api.vo.LikeCoinOperatedCollectedInfo;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * @类名 VideoService
 * @描述 TODO
 * @作者 白条君
 * @创建日期 2022/12/19 13:15
 * @版本 1.0
 */
public interface VideoService {
    
    Long addVideo(Video video) throws Exception;

    void asyncPublishMoments(Long videoId, Video video);

    Integer isExistsVideo(Long videoId);

    Video getVideoById(Long videoId);

    Map<String, Object> getVideoDetails(Long videoId) throws Exception;

    List<Video> getHomePageVideo(Long userId, Long lastId, Integer pageSize) throws Exception;

    List<Long> getVideoIds();

    void removeVideo(Long videoId) throws ConditionException;

    Long getUserIdByVideoId(Long videoId);
}
